package com.finger.gulimall.product.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.finger.common.utils.PageUtils;
import com.finger.gulimall.product.entity.SpuInfoEntity;
import com.finger.gulimall.product.vo.SpuInfoForOrder;
import com.finger.gulimall.product.vo.SpuSaveVO;

import java.util.List;
import java.util.Map;

/**
 * spu信息
 *
 * @author finger
 * @email 909128695@qq.com
 * @date 2022-03-16 12:43:42
 */
public interface SpuInfoService extends IService<SpuInfoEntity> {

    PageUtils queryPage(Map<String, Object> params);

    /**
     * 保存商品信息
     *
     * @param spuInfo
     */
    void saveSpuVO(SpuSaveVO spuInfo);

    /**
     * 根据查询条件查询分页
     *
     * @param params
     * @return
     */
    PageUtils queryPageCondition(Map<String, Object> params);

    /**
     * 商品上架
     *
     * @param spuId 商品SpuId
     */
    void up(Long spuId);

    /**
     * 根据商品skuid，查出对应的Spu信息
     * @param skuIds
     * @return Map<SkuId,SpuEntity> res
     */
    Map<Long, SpuInfoForOrder> getSpusBySkuIds(List<Long> skuIds);
}

